íë¡ ížìë ìë²ëŠ¬ì€ íšìì ê°ë ¥íšê³Œ ê²¬ê³ íê³ íì¥ ê°ë¥í ì í늬ìŒìŽì ì ìíŽ ì¢ ìì±ì ë§€ííë ë°©ë²ì ìì볎ìžì. íšì êŽê³ ë§€í곌 ê·ž ìŽì ì ìŽíŽíìžì.
íë¡ ížìë ìë²ëŠ¬ì€ íšì ì¢ ìì± ê·žëí: íšì êŽê³ ë§€í
ìë²ëŠ¬ì€ ì»Žíší ì ë¶ìì ë°±ìë ê°ë°ì íëª ì ìŒìŒìŒ ê°ë°ìê° êž°ë³ž ìžíëŒë¥Œ êŽëЬíì§ ìê³ ë ê°ë³ íšì륌 ë°°í¬í ì ìê² íìµëë€. ìŽ íšë¬ë€ìì íë¡ ížìëë¡ ì ì ë íì°ëìŽ ê°ë°ìê° ëì± ìëì ìŽê³ ìíž ìì©ì ìž ì¬ì©ì 겜íì 구ì¶í ì ìëë¡ ì§ìí©ëë€. íë¡ ížìë ìë²ëŠ¬ì€ íšì륌 êŽëЬíë ë° ì€ìí 잡멎ì íŽë¹ ì¢ ìì±, ìŠ ìíž ìì©íê³ ìë¡ ì졎íë ë°©ìì ìŽíŽíë ê²ì ëë€. ìŽê²ìŽ ë°ë¡ íë¡ ížìë ìë²ëŠ¬ì€ íšì ì¢ ìì± ê·žëí ëë íšì êŽê³ ë§€í ê°ë ìŽ ìì©íë ë°©ìì ëë€.
íë¡ ížìë ìë²ëŠ¬ì€ íšìë 묎ììžê°ì?
íë¡ ížìë ìë²ëŠ¬ì€ íšìë 볞ì§ì ìŒë¡ íë¡ ížìë(ëžëŒì°ì ) ëë íë¡ ížìë ì í늬ìŒìŽì ìì ì§ì ížì¶ëë ìë²ëŠ¬ì€ íšìì ëë€. ìŽë¥Œ íµíŽ ê°ë°ìë Ʞ졎ìë ë°±ìëìì ì²ëЬíë ìì ì ì€íë¡ëí ì ììµëë€. ì륌 ë€ìŽ ë€ì곌 ê°ìµëë€.
- ë°ìŽí° ë³í: UIì ë ëë§íêž° ì ì APIìì ìì ë ë°ìŽí°ë¥Œ ì¡°ìí©ëë€.
- ìžìŠ ë° ê¶í ë¶ì¬: ì¬ì©ì ë¡ê·žìž, ë±ë¡ ë° ê¶í íìžì ì²ëЬí©ëë€.
- ìì ì ì¶ ì²ëЬ: ì 첎 ë°±ìë ìë²ê° íì ììŽ ìì ë°ìŽí°ë¥Œ ê²ìŠíê³ ì²ëЬí©ëë€.
- íì¬ íµí©: ê²°ì ê²ìŽížìšìŽ ëë ìŽë©ìŒ ì ê³µì 첎ì ê°ì ìžë¶ ìë¹ì€ì ì°ê²°í©ëë€.
- ëì ìœí ìž ìì±: ì¬ì©ì ì ë ¥ ëë êž°í ìì륌 êž°ë°ìŒë¡ ì¬ì©ì ì ì ìœí ìž ë¥Œ ìì±í©ëë€.
íë¡ ížìë ìë²ëŠ¬ì€ íšì륌 ë°°í¬íë ë° ë늬 ì¬ì©ëë íë«íŒì ë€ì곌 ê°ìµëë€.
- AWS Lambda: Amazon Web Servicesì ìë²ëŠ¬ì€ ì»Žíší ìë¹ì€ì ëë€.
- Netlify Functions: íë¡ ížìë ìœëë² ìŽì€ìì ì§ì ìë²ëŠ¬ì€ íšì륌 ë°°í¬í ì ìë Netlify íë«íŒì êž°ë¥ì ëë€.
- Vercel Functions: Netlify Functionsì ì ì¬íê² Vercel Functionsë ê°ìíë ë°°í¬ë¥Œ ìíŽ Vercel íë«íŒì íµí©ëìŽ ììµëë€.
íšì êŽê³ ë§€íì ì€ìì±
íë¡ ížìë ì í늬ìŒìŽì ìŽ ì±ì¥íê³ ë ë§ì ìë²ëŠ¬ì€ íšì륌 íµí©íšì ë°ëŒ ìŽë¬í íšìê° ìŽë»ê² ìíž ì°ê²°ëìŽ ìëì§ ìŽíŽíë ê²ìŽ ì ì ë ì€ìíŽì§ëë€. íšì êŽê³ ë§€íì ì¬ì©í멎 ìŽë¬í ì¢ ìì±ì ìê°ííê³ êŽëЬíì¬ ë€ì곌 ê°ì ëª ê°ì§ 죌ì ìŽì ì ì»ì ì ììµëë€.
í¥ìë ìœë ì ì§ êŽëЬ
íšì ì¢ ìì±ì ëª ííê² ë§€íí멎 ë€ë¥ž íšììì ë³ê²œ ì¬íì ìí¥ì ë°ë íšì륌 ìœê² ìë³í ì ììµëë€. ìŽë ê² í멎 ìëíì§ ìì ë¶ìì©ìŽ ë°ìí ìíìŽ ì€ìŽë€ê³ ìœë륌 늬í©í°ë§íêž°ê° ë ì¬ìì§ëë€.
ì: ì¬ì©ì ìžìŠì ì²ëЬíë íšì륌 ìê°íŽ ë³Žìžì. ì¬ì©ì ìžìŠ ë°©ìì ë³ê²œíë ê²œì° ìžìŠ ìíì ì졎íë ë€ë¥ž íšì륌 ìììŒ í©ëë€. ì¢ ìì± ê·žëíë íŽë¹ íšì륌 ìŠì ê°ì¡° íìí©ëë€.
í¥ìë ëë²ê¹
ìë²ëŠ¬ì€ íšììì ì€ë¥ê° ë°ìí멎 íšì ì¢ ìì±ì ìŽíŽí멎 귌볞 ììžì ì ìíê² ìë³íë ë° ëììŽ ë ì ììµëë€. ì¢ ìì± ê·žëí륌 íµíŽ ë°ìŽí° íëŠì ì¶ì íì¬ ë¬žì ì ììžì íì í ì ììµëë€.
ì: ê²°ì ì²ëЬ íšìê° ì€íší멎 ì¢ ìì± ê·žëí륌 ì¬ì©íì¬ ì£Œë¬ž ìŽì¡ì ê³ì°íê±°ë ì¬ì©ìì ê³ì ìì¡ì ì ë°ìŽížíë íšìì ê°ì ê²°ì íë¡ìžì€ì êŽë šë íšì륌 íìží ì ììµëë€. ìŽë ê² í멎 ë²ê·ž ê²ì ë²ì륌 ì¢íë ë° ëììŽ ë©ëë€.
ìµì íë ì±ë¥
íšì ì¢ ìì± ê·žëíìì ë³ëª© íìì ìë³í멎 ì í늬ìŒìŽì ì±ë¥ì ìµì ííë ë° ëììŽ ë ì ììµëë€. ì륌 ë€ìŽ í¹ì íšìê° ë¶íìíê² ížì¶ëê±°ë ë íšìê° ì€ë³µ ìì ì ìííê³ ììì ë°ê²¬í ì ììµëë€.
ì: ìŽë¯žì§ í¬êž° ì¡°ì 곌 êŽë šë íšìê° í° ìŽë¯žì§ë¡ ì죌 ížì¶ëìŽ ì 첎 ì í늬ìŒìŽì ìëì ìí¥ì 믞ì¹ë 겜ì°. ì¢ ìì± ê·žëíë ìŽ ë³ëª© íìì ì íí ì°ŸìëŽê³ ì§ì° ë¡ë© ëë ìµì íë ìŽë¯žì§ íì곌 ê°ì ìµì í ë žë ¥ì ìŽêµ¬í ì ììµëë€.
í¥ìë íì¥ì±
íšì ì¢ ìì±ì ìŽíŽíë ê²ì ì í늬ìŒìŽì ì íì¥íë ë° ë§€ì° ì€ìí©ëë€. ì죌 ì¬ì©ëê±°ë ë€ë¥ž ì€ìí íšìì ì¢ ìì±ìŽ ìë íšì륌 ìë³íì¬ ìµì í ë° íì¥ì ìíŽ íŽë¹ íšìì ì°ì ìì륌 ì§ì í ì ììµëë€.
ì: ížëíœìŽ êžìŠíë ëì ê°ìžíë ì¶ì²ì ìì±íë íšìê° ê³Œë¶íë ì ììµëë€. ì¢ ìì± ê·žëí륌 íµíŽ ìŽë¥Œ ë³ëª© íììŒë¡ ìë³í멎 ìºì± ëë ìì ë ë¶ì°ê³Œ ê°ì ì¬ì ìë°©ì íì¥ ì¡°ì¹ë¥Œ ìíí ì ììµëë€.
í¥ìë í ì€íž
íšì êŽê³ ë§€íì ì¬ì©í멎 íšê³Œì ìž ëšì í ì€ížì íµí© í ì€ížë¥Œ ë ìœê² ìì±í ì ììµëë€. ì¢ ìì± ê·žëí륌 ì¬ì©íì¬ ê° íšìì ì ë ¥ ë° ì¶ë ¥, ê·žëŠ¬ê³ íšì ê°ì êŽê³ë¥Œ ìë³í ì ììµëë€. ìŽë ê² í멎 ê°ë¥í 몚ë ìë늬ì€ë¥Œ í¬êŽíë í¬êŽì ìž í ì€íž ì¬ë¡ë¥Œ ë§ë€ ì ììµëë€.
ì: ë°°ì¡ë¹ë¥Œ ê³ì°íë íšìê° ì¬ì©ìì ìì¹ì ì졎íë ê²œì° ì¢ ìì± ê·žëíë ìŽ ì¢ ìì±ì ê°ì¡° íìí©ëë€. ìŽë ê² í멎 ë€ìí ìì¹ì ë°°ì¡ ìë늬ì€ë¥Œ ë€ë£šë í ì€íž ì¬ë¡ë¥Œ ë§ë€ëŒë ë©ìì§ê° íìë©ëë€.
íë¡ ížìë ìë²ëŠ¬ì€ íšì ì¢ ìì± ê·žëí ë§ë€êž°
íë¡ ížìë ìë²ëŠ¬ì€ íšì ì¢ ìì± ê·žëí륌 ë§ëë ë°©ë²ìë ì¬ë¬ ê°ì§ê° ììµëë€. ìµìì ì ê·Œ ë°©ìì ì í늬ìŒìŽì ì í¬êž°ì ë³µì¡ì±, ê·žëŠ¬ê³ ì¬ì© ì€ìž ë구ì êž°ì ì ë°ëŒ ë¬ëŒì§ëë€.
ìë ë§€í
íšì ìê° ì íë ìê·ëªš ì í늬ìŒìŽì ì ê²œì° ì¢ ìì± ê·žëí륌 ìëìŒë¡ ë§ë€ ì ììµëë€. ì¬êž°ìë íšìì íŽë¹ ì¢ ìì±ì 볎ì¬ì£Œë ë€ìŽìŽê·žëšìŽë í륌 ë§ëë ìì ìŽ í¬íšë©ëë€. ìŽ ì ê·Œ ë°©ìì ê°ëšíì§ë§ ì í늬ìŒìŽì ìŽ ì»€ì§ì ë°ëŒ êŽëЬíêž° ìŽë €ìì§ ì ììµëë€.
ìœë ë¶ì ë구
ìœë ë¶ì ë구ë ìœëë² ìŽì€ë¥Œ ìëìŒë¡ ë¶ìíê³ ì¢ ìì± ê·žëí륌 ìì±í ì ììµëë€. ìŽë¬í ë구ë ìŒë°ì ìŒë¡ ì ì ë¶ì êž°ì ì ì¬ì©íì¬ íšì ížì¶ ë° ë°ìŽí° ì¢ ìì±ì ìë³í©ëë€. ë늬 ì¬ì©ëë ìœë ë¶ì ë구ë¡ë ë€ì곌 ê°ì ê²ë€ìŽ ììµëë€.
- ESLint: íšì ê°ì ì¢ ìì±ì ê°ì§íëë¡ êµ¬ì±í ì ìë JavaScript 늰í ë구ì ëë€.
- Dependency Cruiser: JavaScript ë° TypeScript ì¢ ìì±ì ë¶ìíë ë구ì ëë€.
- Sourcegraph: ì¢ ìì±ì ìê°ííë ë° ì¬ì©í ì ìë ìœë ê²ì ë° ìží 늬ì ì€ íë«íŒì ëë€.
ë°íì 몚ëí°ë§
ë°íì 몚ëí°ë§ ë구ë ë°íìì íšì ížì¶ ë° ë°ìŽí° íëŠì ì¶ì í ì ììµëë€. ìŽë¥Œ íµíŽ íšìì ì€ì ì¬ì©ëì ë°ìíë ëì ì¢ ìì± ê·žëí륌 ë§ë€ ì ììµëë€. ë늬 ì¬ì©ëë ë°íì 몚ëí°ë§ ë구ë¡ë ë€ì곌 ê°ì ê²ë€ìŽ ììµëë€.
- AWS X-Ray: ì í늬ìŒìŽì ì íµê³Œíë ìì²ì ì¶ì íë ë° ì¬ì©í ì ìë ë¶ì° ì¶ì ìë¹ì€ì ëë€.
- Datadog: ìë²ëŠ¬ì€ íšìì ì±ë¥ì ì¶ì í ì ìë 몚ëí°ë§ ë° ë¶ì íë«íŒì ëë€.
- New Relic: íšì ì¢ ìì±ì ìê°ííë ë° ì¬ì©í ì ìë ì±ë¥ 몚ëí°ë§ íë«íŒì ëë€.
IaC(Infrastructure as Code) íì©
Terraform ëë AWS CloudFormation곌 ê°ì IaC(Infrastructure as Code) ë구륌 ì¬ì©íë ê²œì° ìžíëŒ ì ìë ìŒë¶ ì¢ ìì±ì ììì ìŒë¡ ì ìí ì ììµëë€. IaC ìœë륌 ë¶ìíì¬ ìë²ëŠ¬ì€ ìžíëŒì ìì ìì€ ì¢ ìì± ê·žëí륌 구ì¶í ì ììµëë€.
ì€ì©ì ìž ì: ê°ëší ì ì ìê±°ë ì í늬ìŒìŽì 구ì¶
ë€ì곌 ê°ì íë¡ ížìë ìë²ëŠ¬ì€ íšìê° ìë ëšìíë ì ì ìê±°ë ì í늬ìŒìŽì ì ê³ ë €íŽ ë³Žê² ìµëë€.
- `getProductDetails(productId)`: ë°ìŽí°ë² ìŽì€ ëë APIìì ì í ìžë¶ ì 볎륌 ê°ì žìµëë€.
- `addToCart(productId, quantity)`: ì¬ì©ìì ì¥ë°êµ¬ëì ì íì ì¶ê°í©ëë€.
- `calculateCartTotal(cartItems)`: ì¥ë°êµ¬ëì ìë í목ì ìŽ ë¹ì©ì ê³ì°í©ëë€.
- `applyDiscountCode(cartTotal, discountCode)`: ì¥ë°êµ¬ë ìŽì¡ì í ìž ìœë륌 ì ì©í©ëë€.
- `processPayment(paymentDetails, cartTotal)`: 죌묞ì ëí ê²°ì 륌 ì²ëЬí©ëë€.
- `sendConfirmationEmail(orderDetails)`: ì¬ì©ììê² íìž ìŽë©ìŒì 볎ë ëë€.
ë€ìì ìŽë¬í íšìì ëí ì ì¬ì ìž ì¢ ìì± ê·žëíì ëë€.
``` getProductDetails(productId) <-- addToCart(productId, quantity) <-- calculateCartTotal(cartItems) <-- applyDiscountCode(cartTotal, discountCode) <-- processPayment(paymentDetails, cartTotal) <-- sendConfirmationEmail(orderDetails) ```
ì€ëª :
- `getProductDetails`ë `addToCart`ìì ì í ì 볎륌 ê°ì žì€ë ë° ì¬ì©ë©ëë€.
- `addToCart`ë ì¥ë°êµ¬ë륌 ì ë°ìŽížíê³ , `calculateCartTotal`ìì ì¬ì©ë©ëë€.
- `calculateCartTotal`ì ìê³ë¥Œ ê³ì°íê³ , `applyDiscountCode`ë í ìž ìœëì ë°ëŒ ìê³ë¥Œ ìì í©ëë€(íŽë¹íë 겜ì°).
- `processPayment`ë ìµì¢ `cartTotal`ì ì¬ì©íì¬ ê±°ë륌 ì²ëЬí©ëë€.
- `sendConfirmationEmail`ì ê²°ì íë¡ìžì€ìì ìë£ë `orderDetails`ì ì졎í©ëë€.
ìŽ ê·žëí륌 ìê°ííë ìŽì :
- ëë²ê¹ : `processPayment`ê° ì€íší멎 `applyDiscountCode`, `calculateCartTotal`, `addToCart` ë° `getProductDetails`ê° ëªšë 묞ì ì ì ì¬ì ìž ììžìì ë¹ ë¥Žê² ì ì ììµëë€.
- 늬í©í°ë§: í ìžì ì ì©íë ë°©ìì ë³ê²œíêž°ë¡ ê²°ì í ê²œì° `applyDiscountCode` ë° `processPayment`ë§ ìì íŽìŒ í©ëë€.
- í ì€íž: ê° êž°ë¥ì ëí ëì í ì€ížë¥Œ ë§ë€ê³ 격늬 ë° ì¢ ìì±ê³Œ íšê» ì¬ë°ë¥Žê² ìëíëì§ íìží ì ììµëë€.
íë¡ ížìë ìë²ëŠ¬ì€ íšì ì¢ ìì± êŽëŠ¬ë¥Œ ìí ëªšë² ì¬ë¡
ë€ìì íë¡ ížìë ìë²ëŠ¬ì€ íšì ì¢ ìì±ì êŽëЬíêž° ìí ëª ê°ì§ ëªšë² ì¬ë¡ì ëë€.
- íšì륌 ìê³ ì§ì€ì ìŒë¡ ì ì§: ë ìê³ ì§ì€ë íšìë ìŽíŽíê³ í ì€ížíêž°ê° ë ìœìµëë€. ëí ì¢ ìì±ìŽ ì ìŽ êŽëЬíêž°ë ìœìµëë€.
- ìì¡Žì± ì£Œì ì¬ì©: ìì¡Žì± ì£Œì ì ì¬ì©í멎 íšì륌 íŽë¹ ì¢ ìì±ìì ë¶ëЬíì¬ ì¬ì¬ì© ë° í ì€ížê° ê°ë¥íŽì§ëë€.
- ëª íí ìží°íìŽì€ ì ì: ê° íšìì ì ë ¥ ë° ì¶ë ¥ì ì§ì íì¬ íšìì ëí ëª íí ìží°íìŽì€ë¥Œ ì ìí©ëë€. ìŽë ê² í멎 íšìê° ìë¡ ìíž ìì©íë ë°©ìì ë ìœê² ìŽíŽí ì ììµëë€.
- ì¢ ìì± ë¬žìí: ê° íšìì ì¢ ìì±ì ëª ííê² ë¬žìíí©ëë€. ìŽ ìì ì ìœëì 죌ìì ì¬ì©íê±°ë ì€ëª ì ë구륌 ì¬ì©íì¬ ìíí ì ììµëë€.
- ë²ì êŽëЬ ì¬ì©: ë²ì êŽëŠ¬ë¥Œ ì¬ì©íì¬ ìœë ë³ê²œ ì¬íì ì¶ì íê³ ì¢ ìì±ì êŽëЬí©ëë€. ìŽë ê² í멎 íìí ê²œì° ìŽì ë²ì ì ìœëë¡ ìœê² ëë늎 ì ììµëë€.
- ì¢ ìì± êŽëЬ ìëí: ì¢ ìì± êŽëЬ ë구륌 ì¬ì©íì¬ ì¢ ìì± êŽëЬ íë¡ìžì€ë¥Œ ìëíí©ëë€. ìŽë ê² í멎 ì¢ ìì± ì¶©ëì ë°©ì§íê³ ëªšë íšìê° ì¬ë°ë¥ž ë²ì ì ì¢ ìì±ì ì¬ì©íëë¡ í ì ììµëë€.
- ì¢ ìì± ëªšëí°ë§: ì êž°ì ìŒë¡ íšì ì¢ ìì±ì 몚ëí°ë§íì¬ ë³Žì ì·šìœì ë° ì±ë¥ 묞ì 륌 íìží©ëë€.
íë¡ ížìë ìë²ëŠ¬ì€ íšì ë° ì¢ ìì± êŽëЬì 믞ë
íë¡ ížìë ìë²ëŠ¬ì€ íšìë íë¡ ížìë ê°ë°ìì ì ì ë ì€ìí ë¶ë¶ìŽ ë ê²ì ëë€. ë ë§ì ê°ë°ìê° ìŽ íšë¬ë€ìì ì±ííšì ë°ëŒ ê°ë ¥í ì¢ ìì± êŽëЬ ë구 ë° êž°ì ì ëí íìì±ìŽ ëì± ì»€ì§ ê²ì ëë€. ë€ì ë¶ìŒìì ë ë§ì ë°ì ì êž°ëí ì ììµëë€.
- ìë ì¢ ìì± ê·žëí ìì±: ìœë ë° ë°íì ëìì ìëìŒë¡ ë¶ìíì¬ ì ííê³ ìµì ì¢ ìì± ê·žëí륌 ìì±í ì ìë ë³Žë€ ì êµí ë구.
- ìê°ì ì¢ ìì± ë¶ì: ê°ë°ìê° íšì ì¢ ìì±ì ìœê² ìê°ííê³ íìí ì ìëë¡ íë ì¬ì©ì ì¹íì ìž ìží°íìŽì€.
- íµí© í ì€íž íë ììí¬: íë¡ ížìë ìë²ëŠ¬ì€ íšì륌 ìíŽ í¹ë³í ì€ê³ëê³ ìì¡Žì± ì£Œì ë° ëªšì륌 ìí ëŽì¥ ì§ìì ì ê³µíë í ì€íž íë ììí¬.
- í¥ìë 볎ì ë¶ì: íšì ì¢ ìì±ìì 볎ì ì·šìœì ì ìëìŒë¡ ìë³íê³ íŽê²°ì± ì ê¶ì¥í ì ìë ë구.
ê²°ë¡
íë¡ ížìë ìë²ëŠ¬ì€ íšì ì¢ ìì± ê·žëí ëë íšì êŽê³ ë§€íì ìë²ëŠ¬ì€ íšì륌 ì¬ì©íì¬ ê²¬ê³ íê³ íì¥ ê°ë¥íë©° ì ì§ êŽëЬ ê°ë¥í íë¡ ížìë ì í늬ìŒìŽì ì 구ì¶íë ë° íìì ìž êŽíì ëë€. íšìê° ìë¡ ìíž ìì©íë ë°©ìì ìŽíŽí멎 ìœë ì ì§ êŽëЬì±ì ê°ì íê³ , ëë²ê¹ ì í¥ììí€ê³ , ì±ë¥ì ìµì ííê³ , íì¥ì±ì ëìŽê³ , í ì€ížë¥Œ ê°ì í ì ììµëë€. íë¡ ížìë ìë²ëŠ¬ì€ íšìì ì¬ì©ìŽ ê³ì ìŠê°íšì ë°ëŒ ì¢ ìì± êŽëŠ¬ë¥Œ ë§ì€í°íë ê²ì 몚ë íë¡ ížìë ê°ë°ììê² ì€ìí êž°ì ìŽ ë ê²ì ëë€.
ìŽ ëžë¡ê·ž ê²ì묌ì ì€ëª ë ëªšë² ì¬ë¡ë¥Œ ë°ë¥Žë©Ž íšì ì¢ ìì±ì íšê³Œì ìŒë¡ êŽëЬíê³ íë ì¹ ê°ë°ì ì구 ì¬íì ì í©í ê³ íì§ íë¡ ížìë ì í늬ìŒìŽì ì 구ì¶í ì ììµëë€.